﻿using System;
using JTLeigh.Commerce.Spencer.Features.ProductImages.Common.Entities;

namespace JTLeigh.Commerce.Spencer.Features.ProductImages.Business.Caches
{

	/// <summary>
	/// A null <see cref="IProductImageMetadataCache"/> implementation that doesn't cache product 
	/// image metadata.
	/// </summary>
	/// <remarks>
	/// <para>
	/// This cache should not be used in production.
	/// </para>
	/// </remarks>
	public class NullProductImageMetadataCache : IProductImageMetadataCache
	{

		#region IProductImageMetadataCache Members

		/// <summary>
		/// Always returns <see langword="null"/>.
		/// </summary>
		/// <param name="tenantId">Ignored.</param>
		/// <returns><see langword="null"/>.</returns>
		public ProductImageMetadata GetProductImageMetadata(Guid tenantId)
		{
			return null;
		}

		/// <summary>
		/// Does nothing.
		/// </summary>
		/// <param name="tenantId">Ignored.</param>
		/// <param name="metadata">Ignored.</param>
		public void SetProductImageMetadata(Guid tenantId, ProductImageMetadata metadata)
		{
		}

		#endregion // IProductImageMetadataCache Members

	}

}
